package com.hsurosy.domain.strategy.service;

import com.hsurosy.domain.strategy.model.valobj.StrategyAwardStockKeyVO;

/**
 * @Author Hsu琛君珩
 * @Date 2024-10-21 20:33
 * @Description 抽奖库存接口
 * @Version: v1.0.0
 */
public interface IRaffleStock {

    /**
     * 获取奖品库存消耗队列
     *
     * @return 奖品库存Key信息
     * @throws InterruptedException
     */
    StrategyAwardStockKeyVO takeQueueValue() throws InterruptedException;

    /**
     * 更新奖品库存消耗记录
     *
     * @param strategyId 策略ID
     * @param awardId 奖品ID
     */
    void updateStrategyAwardStock(Long strategyId, Integer awardId);

}
